package com.puzzlebazar.client.squaregrid.view;

import com.puzzlebazar.client.util.Vec2i;

public interface EdgeHighlighter {

	/**
	 * Highlight a specific vertical edge of the square grid
	 * 
	 * @param loc Location of the left vertex of the edge
	 * @throws Exception
	 */
	public void highlightVerticalEdge( Vec2i loc ) throws Exception;
	
	/**
	 * Highlight a specific horizontal edge of the square grid
	 * 
	 * @param loc Location of the top vertex of the edge
	 * @throws Exception
	 */
	public void highlightHorizontalEdge( Vec2i loc ) throws Exception;
	
	/**
	 * Remove the highlight of a specific vertical edge of the square grid
	 * 
	 * @param loc Location of the left vertex of the edge
	 * @throws Exception
	 */
	public void unhighlightVerticalEdge(Vec2i loc) throws Exception;
	
	/**
	 * Remove the highlight of a specific horizontal edge of the square grid
	 * 
	 * @param loc Location of the top vertex of the edge
	 * @throws Exception
	 */
	public void unhighlightHorizontalEdge(Vec2i loc) throws Exception;	

	/**
	 * Unhighlight all the edges
	 */
	public void unhighlightAllEdges();
}
